---
- name: configurations
  hosts: "{{HOSTS}}"
  gather_facts: no
#  strategy: free
  roles:
    - role: psql_pprb
#    - role: sys_info
    - role: tests
#    - pgsql
#    - psql_pprb
#    - tests
#    - create_users
#    - configuration
#    - nginx

#- name: Notify host has less than 500 GB of RAM
#  hosts: localhost
#  tasks:
#    - name: Ensure sufficient memory
#      fail:
#        msg: "На машине не достаточно памяти | необходимо не менее 500mb"
#      when: ansible_memtotal_mb < 500

#    - name: Ensure sufficient memory
#      # fail:
#      debug:
#        msg: "На машине не достаточно памяти | необходимо не менее 500mb | Доступно: {{ansible_memfree_mb}} из {{ansible_memtotal_mb}}"
#      when: ansible_memfree_mb < 4000
#    - name: Check available RAM
#      command: cat /proc/meminfo | grep MemTotal
#      register: meminfo_out
#
#    - name: 17 GB memory available?
#      fail:
#        msg: 17 GB Memory is not available!
#      when: meminfo_out.stdout|int < 17000000



#  post_tasks:
#    - name: removes
#      block:
#        - name: remove user "{{app_user}}" group "{{app_user_group}}"
#          user:
#            name: "{{app_user}}"
#            state: absent
#            remove: true
#        - name: remove group "{{app_user_group}}"
#          group:
#            name: "{{app_user_group}}"
#            state: absent
#      become: true


# Представленный выше playbook используется для удаления пользователя и группы пользователя с установленными параметрами из среды и версии релиза. 
# Сначала он использует параметр strategy: free, который следует для раскрашивания скрипта Ansible. Затем указываются сценарии, которые будут использованы при выполнении скрипта, такие как create_users и configuration. 
# Затем, в задачах post, указывается действие удаления пользователя "{{app_user}}" и группы "{{app_user_group}}" с параметром статуса "отсутствие" и удаления, данный блок задач выполняется с правами администратора, и ограничением, что само действие будет ограничено для первого хоста из группы nodes_dbs в inventory.

# После анализа текста можно сделать вывод, что данный playbook является достаточно простым и выполняет одну простую задачу - удаляет пользователя и группу с указанными параметрами и ограничениями.

#  tasks:
#    - name: shell execute
#      shell: |
#        df -h ; ls -al / ; env ; cat /etc/*-release
#      register: output
#    - debug:
#        msg: "{{output.stdout_lines}}"
...